Dynamic CMOS interconnect drivers may be substituted for static CMOS drivers in high performance on-chip buses. In buses with static drivers, when neighboring wires switch in opposite directions, e.g., from Vss to Vcc on one wire and from Vcc to Vss on its neighbor, the voltage swing on the parasitic capacitor which exists inherently between the two wires is not Vcc−Vss. Rather, the voltage swing seen by the parasitic capacitor is doubled to (Vcc−Vss)*2. Due to the Miller effect, the effective capacitance seen by the wire is doubled, yielding a Miller Coupling Factor (MCF) of 2.0.
In buses with dynamic drivers, all wires are reset to a pre-charge state (for example, Vss) in a pre-charge portion of the clock cycle, and then may either remain at that state or switch to an opposite state (Vcc in this example) in an evaluate portion of the cycle. Since all wires in the bus are pre-charged to the same state, two neighboring wires cannot switch in opposite directions during evaluation, and the maximum voltage swing on the terminals of the parasitic capacitor between the two wires will be (Vcc−Vss). Thus, the MCF is reduced from 2.0 in static CMOS drivers to 1.0 in dynamic CMOS drivers, thereby reducing a large component of the wire's worst-case effective coupling capacitance.
A trade-off is that dynamic buses may consume more power than static buses. Because dynamic buses are reset to the pre-charge state each cycle, the power used by the bus depends on the actual value of the input, unlike static buses, which draw power only when the input value transitions. Thus, a dynamic bus will continue to use power for as long as the input value is HIGH, whereas a static bus would not.